import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.LocateRegistry;

public class Servidor {

	public static Servidor servidor = null;

	public static String URL = "jdbc:mysql://localhost:3306/jogo";
	public static String USER = "root";
	public static String PASSWORD = "root";

	public Servidor() throws RemoteException {

		try {
			System.setProperty( "java.rmi.server.hostname", "192.168.0.215" );   
			LocateRegistry.createRegistry(1099);  
			ServicoRemoto servicoRemoto = new ServicoRemotoImpl();     
			Naming.bind("Servidor", (Remote) servicoRemoto);
			System.out.println("Servidor foi criado e registrado");

			//String nomeServicoRegistrado = "rmi://localhost:1099/ServicoRemoto";
			//ServicoRemoto servicoRemoto = new ServicoRemotoImpl();
			//System.setProperty( "java.rmi.server.hostname", "192.168.1.103" ); 
			//Naming.rebind(nomeServicoRegistrado, servicoRemoto);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) throws RemoteException {
	   
		if(args.length == 4) {
			URL = args[1];
			USER = args[2];
			PASSWORD = args[3];
		} else {
			System.out.println("Serão utilizadas configurações de banco de dados padão, se quiser alterá-las, passe-as como parametro na chamada do servidor. \n Exemplo: Servidor jdbc:mysql://<host>:<porta>/<banco> <usuario> <senha>");
		}

		new Servidor();
	}

	public static Servidor getInstance() throws RemoteException {
		if(servidor == null) {
			servidor = new Servidor();
		}
		return servidor;
	}
}
